﻿using System.Collections.Generic;
using System.Linq;
using ZBJF.Warranty.Common.Enums.Base;
using ZBJF.Warranty.Model;

namespace ZBJF.Warranty.IBLL
{
    /// <summary>
    /// 保险产品订单审核配置快照
    /// </summary>
    public partial interface IInsuranceProductInfoCollectItemSnapshootService
    {
        /// <summary>
        /// 创建信息收集快照
        /// </summary>
        /// <param name="insuranceOrderId">保单表InsuranceOrder主键ID</param>
        /// <param name="serviceProjectType">保险信息类型：和ServiceProductType是同一个枚举，根据ServiceProjectType去不同的表取数据，比如手机维修保险信息，就去CellPhoneInsuranceInfo表取</param>
        /// <returns></returns>
        bool CreateSnapshoot(long insuranceOrderId, ServiceProductType serviceProjectType);
        /// <summary>
        /// 获取资料收集项
        /// </summary>
        /// <param name="insuranceOrderServiceProjectId">选择的是哪个服务项目</param>
        /// <param name="serviceProjectType">保险信息类型：和ServiceProductType是同一个枚举，根据ServiceProjectType去不同的表取数据，比如手机维修保险信息，就去CellPhoneInsuranceInfo表取</param>
        /// <param name="infoCollectWith"></param>
        /// <returns></returns>
        IQueryable<InsuranceProductInfoCollectItemSnapshoot> GetInsuranceProductInfoCollectItemSnapshoot(long insuranceOrderServiceProjectId, ServiceProductType serviceProjectType, byte infoCollectWith = 0);
    }
}